finch composeでは、healthcheckは機能しない

finch composeでは、healthcheckは機能しない

Clock Icon2024.07.26

finchとは

finchawsが開発しているdocker alternativeのCLIツールです。

finch composeでは、healthcheckは機能しない

finchは内部ではnerdctlを使用しています。nerdctlは一部のdocker-compose.ymlの記法が実装されておらず、その中にはservices.<SERVICE>.healthcheckも含まれます

そのため、以下ブログで書いたようなcompose yamlはfinchでは機能せず、grafanaは起動エラーとなってしまいます。

https://dev.classmethod.jp/articles/mysql-database-grafana-docker-compose/

funch compose upを実行すると以下のように、healthcheck記法が無視されたことがログに出力されます。

WARN[0000] Ignoring: service grafana-config: [Expose HealthCheck]
WARN[0000] Ignoring: service grafana: depends_on: grafana-config: [Required]
WARN[0000] Ignoring: service grafana: depends_on: grafana-config: condition service_healthy

以下のissueが機能リクエストのissueです。今日現在(2024/07/29)まだ実装が開始される気配はないですね。。。

https://github.com/containerd/nerdctl/issues/2386

この機能が欲しい方は、ぜひこのissueに👍しましょう!
votingも立派なOSS活動です!

まとめ

上記の問題はcolimaやRancher Desktopを使った場合は発生しません。

docker desktopが諸事情で使えず、かつhealthcheckを用いてサービスの起動を待ちたい場合は、finch以外のalternative docker cli toolを使いましょう。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.